|
改了一下,这次运算应该没啥问题了
, d% I1 R0 b6 e0 ~
. A6 q% X3 ~, `, g
7 N! [' u; ?' Icapture program drop hello
: W2 G2 }5 p. X" s2 g) i" `( g* u- i: I& h I
program hello
' ]8 _0 g- B* c% K/ C; z- q
, b: y. G) o5 P quietly {
4 q; a4 f8 l( d9 D" j5 c' S) c8 ?; E* U( w* i: M
clear/ o0 C9 R, o; F0 p i p% V ]
0 d: p1 \! b3 e! a+ k, X, K" N- ycd e:\finance\stock\20110101\source- B" q. B1 l* Z2 {- l
/ }0 V' }* U5 r R
insheet using `1'.txt8 Z, g0 l9 u# B4 s; c- m$ J
K/ w6 J; [6 d$ t keep if v5>0
% W' x4 h! _& I. n0 e- w0 d1 M
. b9 t3 `3 L% Z0 s I0 `) w gen vt=_n
6 G9 m- U( Y4 C4 L
. |' X+ f6 \6 p- X4 P; n& v' _ tsset vt
+ R$ E/ f4 o& H1 m/ U
; X2 F9 F* A' i0 d gen zf=D1.v5 U( W0 c+ `' D: q' m- i6 X/ m
5 m3 U9 g" d# R9 \' S7 x gsort -v1/ `% K \% U7 J4 a# ~3 a
& g% {3 |# }& A# j4 e7 O" _6 k, k gen avol=v7/v5
8 [/ p2 N |* H/ u9 c1 m+ X 1 `5 ?. w- K3 S6 H$ ~
keep if avol>0
3 Z& }& B/ R Z4 A 9 t: d: M# W4 Y: p6 D4 w5 K! t% y O
drop vt
3 }# ?- L' B' ~/ \ 6 s; a3 E) C. U* Y
gen vt=_n
8 E0 D5 g6 _% m1 p1 _
: l) z: d0 ^9 D1 Q/ Z0 O tsset vt! q: J; ~: l3 w0 J
: p* B4 G, J! K( ]% j) }' t; I sum v5 [aw =avol]
; u- C/ q: {+ E4 b5 p9 [
) ?1 x. i1 E9 d gen amean=r(mean) in 1$ e( K% s- p7 @& M, f$ \3 R% ^
" O1 ~8 D/ t4 i( x
* 总加权平均值 amean) S1 i1 C/ F" u& n2 h' ]
* r; ~3 B# [! K+ _8 ^/ G
! N5 H5 ?' f0 a) b7 r" ~
keep in 1/240, b. ^: G5 L& c7 K' B. S: k' _
/ Y) @0 N0 q: Y5 B I
sum v5 [aw =avol]0 v) \& X3 K9 w5 o0 s; c, U. V4 L2 r
" E) F! C+ C2 I gen mean240=r(mean) in 10 c+ S! i! H' Y
$ ^ _& \; `* k, D; w# } *240加权平均值 mean240
& w0 Z ^5 w9 j. I% u! n* Q5 L! { 2 o# u' E* r) c6 k
set obs 500 0 @; {( Q+ M9 `% W( b3 M+ [) ~6 O% }
! x' q4 e, q) ~& J" x2 X) K kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph
3 V3 H2 n2 ^7 z1 N J
r( H& F' N1 _$ c *240 kdensity(dx240 dy240)
% R' D+ _2 r. x! r
5 `* P0 e" r' n) K2 o1 Q, s sum dy240
) p7 X0 ] E- A. D5 {" }
& F+ n8 v/ K5 g- L2 { gen yxis=r(max) in 1
1 ?0 `6 {& f2 N. R, H
/ X) \* c/ Q4 \4 z* u" B: A gen yxis2=yxis/2, b. b- f7 U. j3 y
, C' B, L8 |$ x. T' y
*yxis
# f" L% H0 C, w5 X# p6 r / e6 z8 T% K [( G& X5 c
gen dy240max=r(max)( C; R/ h/ k( S- m* T
6 r6 |: J: r. x4 t5 j, p( X; q gen dy240minp=r(min)
8 q6 R. h( q3 @) k : w; [1 O5 v- @6 S6 x, K# ^5 O8 @! `
gen vtt=_n
: ^+ }$ [5 R% I1 B* o Y. B# C1 |; b3 s3 ?. H
tsset vtt
. b$ J) y% s3 C7 p& T/ N. j
* c: W/ v( D y" i gen ddy240=D1.dy240/D1.dx240( J: O3 K. T9 C
5 P3 Q5 N" x/ N. ?: y! W
sum ddy240
/ w2 o# c6 y8 }& t2 r - j0 b$ H+ C- i
gen ddy240max=r(max)
' A( S! T5 n% h" V+ n + b9 A) q4 N5 u4 W2 B
gen ddy240min=r(min)8 q3 ~6 S0 W' _' y- b6 w3 C
# t% u) x" t( \. J
gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
. p3 P1 g0 K& g6 e . N a/ k( M+ H+ S( c; F) u6 N
sum ddy240g: W* Q0 \9 | v" H J4 [
1 [( ~3 H6 r( P- \* X. P% \3 y! B6 H
gen yxis3=r(min) in 13 C0 }& t8 h4 X& Z& e8 d' }
/ J7 c9 S9 p9 Q5 m
gen yxis4=0 in 1
- b. U( C' i2 r; D3 G $ o3 A! B" x( M5 J% w1 U
*ddy240g
6 k5 O- I5 A8 ]) ]) P5 I$ V( j; M: V! w5 ?
/ r4 v# O7 z0 Z9 y6 F
! n2 b# o. _+ z1 P0 c A" g$ M5 I4 Q preserve
6 S( H6 F; r5 X' s- b! w
9 H) \, \% T1 X9 S: y! ?6 y; _ sum v5 [aw =avol]
: T- b/ X# k: g2 S
! ~5 V4 ~; U$ \% z3 K5 [ keep if dx240<r(mean)
S2 Y$ u+ X" l2 {0 Z+ i ( k7 |; Q( C" ]& s3 S" }! Q
sum ddy240: i4 b* r' J/ n# B
1 q S) I- M7 @' x/ |( k/ \/ F if r(min)<0 {! p2 W7 F0 V6 w2 E
' ^! I& d! }( F8 n: \% R keep if ddy240<=0
% k6 F O+ f, C+ m
; v1 M; c+ `/ u0 g count
z" ?) {( b* ?1 z$ O
& Y2 J- V. }9 A if r(N)>2 {
2 n0 M; Y/ T5 B8 E5 P / q4 G N7 C: ?# l
pkexamine dx240 dy240* ~5 o) i2 ~, {' \
7 p0 K" _* t% l" D9 z3 L1 g
local tempminp=r(tomc)
% Y7 S0 S7 L- _2 g1 `- D# ? restore & s, \% x* u/ X2 |! u/ [& v
}
& P- H. G& E* ^1 X7 y
" ^$ B! X# W8 n6 \ else {
* \0 N# g! v6 h$ g3 E . F$ o% s$ s' v! K
di "cannot find minp"
2 Y' p4 }+ \1 U# i* Q) r+ l9 v
+ B( L9 \. J ]# ? restore
* k, [3 ?7 S; d( }" M sum dx240. u$ d; ?, D( f- S+ D$ o
local tempminp=r(mean)9 m: |7 n, Q6 d" q, r! G7 o* s
9 I9 n2 o; g8 Z$ ]5 E" f
}
) Z5 I# f) s7 v; x) q! S0 ~1 P" [ }
, ?9 g! W4 h/ |- z+ r* J0 T else {
' u; v. A' D( ? z( S# ?* }5 X
* E; e6 H h! H0 }0 L" W6 Y keep if ddy240<=r(min)3 H- X& |- K: b
1 a) G( B5 H( D) \2 Q2 `0 L+ ` sum dx240, E5 q* D# ?/ X: Y( e- @9 S
, R. L+ [* O, D9 q" x! }' z
local tempminp=r(min), d9 _# Z, `- r. L
restore , A+ }# Q7 b* B6 o3 t
}
' c) `9 K; ]3 N3 |( t2 O/ l/ \
* u6 S7 @: t4 T. ]' f$ H
( O2 y0 i, q+ Q* f" H
n! N4 k9 y3 u4 c9 b gen minp=`tempminp' in 1
: x5 s0 L1 A E& m *240 minp
5 |8 c# C* u. F9 o0 y
" L9 q4 r- W7 M8 l) Q/ q4 y3 R; C
! X a; u3 A5 ^* ]* D; i
- }" \* Z3 s& C- | preserve
2 ]( G6 k$ \8 X0 ?' p! i ( A8 v- R L! ^0 M
sum v5 [aw =avol]
- e$ r U% B$ }4 m/ A7 U2 E
" R, |2 x0 m# p" ^ keep if dx240>r(mean)
! O0 f* I# z/ B' I* C" v
, e, z p6 D6 g- r# K5 e2 d sum ddy240
* ]7 `- F# y6 l" G
+ O% Y2 M7 @! S7 S5 v9 t if r(max)>0 {* o0 u6 z1 i" w: O" Z4 T$ @! x
7 _4 b' a( o M2 h/ I
keep if ddy240>=0
- g) \! q( L$ ?/ g- A 1 R. f0 t, s1 A8 b+ s5 r
count- ^. Z9 C0 p, A# E; k5 l0 i
/ l' h6 B0 p9 U+ _, v Q: p6 F
if r(N)>2 {( o y, R$ B/ P/ |0 r9 a5 h
9 ~9 R$ h8 g# u2 |: W
pkexamine dx240 dy240
2 ]% ?% Y& b% x: G% X
# e- t# b" o3 y& F' K# {, y local tempmaxp=r(tomc)
: ~- O! }# L' A+ k1 q t" d g' C restore
; `8 k' y5 V5 b/ e1 D+ o4 H* G }
5 R' D. N- M B& l 2 ~( s7 s, {8 F# P, B& _
8 Y/ Z3 X7 v8 h9 m" e+ t# A else {0 [9 L3 J: Y' I1 |6 S
restore
; l) Z# @# u' u) Q4 ^ di "cannot find maxp"
; I3 ]% y. F/ I6 y
4 Z8 a D- i/ E5 x M, [* N H. c 6 T' M7 d7 g( g
sum dx240
V+ R% W) L1 k" s Z! u2 m% K local tempmaxp=r(mean)9 _0 e0 [' q- `9 z/ L) R
- Q. H7 G% D. v
}
7 U- x6 p3 e+ [5 a * H: u5 g9 g* h
}
4 D; B2 ^6 m8 V4 w0 `9 j: F, K
{) Z1 B/ [1 N- Z$ O6 l) D else {$ d- \ ]% @' Z. P
$ t8 {7 |3 X) B3 M' L" l- l S
keep if ddy240>=r(max)/ A. P! S2 b* l
/ A) s; N5 G9 [3 ?( n6 P
sum dx240
6 S y, P, u1 P2 g: v3 O , u) J9 C; B6 p. R! P5 J/ M
local tempmaxp=r(max)
6 O! D" I% j- a( s$ g5 F restore ( H( w9 q9 j; K0 h \- i
}
- T; d/ z$ r* L' r: Z- c
- v# f. f% ?- ?: I# d5 x a7 f4 r: J7 v% W" D% \9 t$ H- }
# e; R" t6 u9 }! J: M3 h+ ^
+ U8 p1 o- f! }7 T
gen maxp=`tempmaxp' in 1
. z$ D' D( |0 u' \- \2 H" A 2 ~ v- X2 C% q5 H) _% [
*240maxp! J5 O1 J. ] u7 \) w' {8 g, ]9 A
! g- D* Y# Q8 S. I# U. e: W1 n
6 F6 H( K+ [% w2 B0 Q/ b: j1 c *-------------ddy240pminp左侧高峰值-----
1 r+ Y$ i6 j2 z" w9 x: N% p3 @ : ~# G1 {9 F3 s; h9 r; W- r
preserve
8 f2 y: v% d. |. H, L: b( ^
) }/ T* r5 j0 A; S( o keep if dx240<`tempminp'2 g9 e" F& `- F x( H2 s/ |' P5 B4 V! Y3 [
6 G. J- z. c# h# [ keep if ddy240>09 K! F8 o& e2 h6 A; }% D) t. j. v0 y# \
8 R: M+ ~1 s) Q7 n, Y
count
* L3 z$ i1 E$ S
- _- a1 ?6 D* z4 `. c if r(N)>2 {) [7 v, i D5 V: \- I x
& {0 Q0 W1 x; j) T8 { pkexamine dx240 ddy240) I6 K: L( P2 K0 }. \
) T1 Z$ @: N0 Z# r: u4 D
local tempminphddy240=r(tomc) ; a+ o& H6 ?6 O h, W( [) z* n
restore
+ L% R1 Y/ x8 z5 B }3 z6 Y" ]' d- f
9 ]- P4 d/ T( }$ [
else {
. ?" q) c' [4 n8 w) p. x restore
8 S) c8 ?2 C0 F# i' w; j/ V di "cannot find pminphddy240"
7 B4 ~3 O I, G" N; u % _& i6 J ?2 @9 S0 x0 g
) {$ v% K$ d- S: l" `' B sum dx240
$ S, F7 u2 q7 S' p4 ~- i; T local tempminphddy240=r(mean) 8 ~5 i, M8 n; \2 W/ z) H
+ ?9 Z5 E$ k+ o# p, d
( t9 w3 t8 D& |: N3 \
}' h/ G3 z5 B# r, K
7 Q. h1 y5 G! H" c
! v8 Y7 ]% R E$ q4 S% s) @
( e0 c7 Z/ G9 @' s A' c& H
! _, P/ `6 D1 W" r# w3 M3 L; _
2 F8 ]3 p2 d( \* C& P. {- B# s/ d 8 T3 c8 b* l9 W) V. @
gen pminphddy240=`tempminphddy240' in 1
/ q" l/ h* Y0 k4 D: U ' V; S: }' e2 H
7 ~3 I0 k/ ~# |9 @0 S *-------------ddy240pminp右侧低峰值 -----------------6 Q9 ]/ ? z: l+ m8 Y4 L9 l
preserve
/ z: S' |5 j1 N/ s# p 0 n4 ^5 S& K+ L* q
keep if dx240>`tempminp'
0 |1 j/ p* c" ~8 c. N( F2 `
& h/ F5 ?0 b1 w" ^* J i. I keep if dx240<`tempmaxp'! d8 I: i6 L- s6 j5 h) F/ N
3 d6 ~5 }5 D$ I- s
keep if ddy240<09 v) H) h& T; {5 T7 r: h, V
1 B7 G6 I' H3 w, j, p gen temddy240=-ddy240/ i j- u0 L# [/ L: ~
4 U% Q. q0 B9 [
count
9 N4 C' V; D7 t' ?, y2 j1 z
" o5 N. }! H1 \- M/ g if r(N)>2 {
; B2 B7 b5 ?1 x% |) b r4 r- D
; `5 ?; I. b; |" s6 U; h8 k pkexamine dx240 temddy240
2 B9 ^, M& N7 l" M
1 H$ R7 J; v" r local tempminplddy240=r(tomc)6 ]% \( ^& W/ g" u ^
restore( J3 W/ B" B# n# s
}1 M/ U R5 a' R5 o
% x: }7 f& {7 {+ y8 m7 C& y else {
& ?* B7 X( t4 ^2 z$ M
" j; J. \ P2 T- D ^ di "cannot find pminplddy240"
2 W8 r+ U6 P7 H- ^1 W! I restore
& A2 e2 J. d7 z* @! k( E & a0 L+ q7 l L u& a4 s
sum dx240$ v7 R$ x" k( R
local tempminplddy240=r(mean)
, M& ?( i, _% J
% n' S6 o+ E" X
9 R0 d$ f4 `% _+ P; [ }
& [3 H; a* x8 y2 Y7 v! D& Q# L 1 [! x4 s' ^- x+ @1 M: o
* b6 M4 @: z, u0 g; ]4 n - S8 \- s* V) v( D+ v
* T. ?/ F7 Q) }8 e 6 {+ v; U0 M6 @6 M+ u
gen pminplddy240=`tempminplddy240' in 13 i, t/ d3 V# N; q
+ O# F* v7 Z1 y" T( z; `' ], S
*-------------ddy240pmaxp左侧高峰值 -------------------
9 R. l! i1 J9 M* P# m. p# W% A, q" i
' j1 Q7 K5 F% [ f& e b# s preserve
1 G4 i# {4 O0 ^; h! p5 \ # f+ F( e5 L4 }% [+ _9 w
keep if dx240>`tempminp'
& i- q# _% x' j4 k+ P I # l' X0 [2 Q8 N, z
keep if dx240<`tempmaxp'
: ]* y" {4 q; q) V+ O/ ~) V " a7 |9 B1 M0 }8 q, {1 J2 r
keep if ddy240>0! y+ L/ u% B9 u- p3 G+ Z
count
. r" `" h' v7 o) R, C3 E( } 2 ^6 h" U* ^ Y: i/ }( t( k4 ?
if r(N)>2 {" d- P$ X4 n8 F2 L
/ ]+ ^: M& U$ e. \% B6 d0 H8 L pkexamine dx240 ddy240% t9 K: Q1 h; ^2 o9 d' D( B
8 a' F0 n. h9 L5 Y; q local tempmaxphddy240=r(tomc) 0 k9 N8 d7 y& [" }
% L; Q$ j: ]5 U( @/ y9 Y restore
: |2 e" X! Y# Z6 [ }
: _% g3 E% f. A
# K0 D3 h3 Z6 R. O else {
; p4 M* n8 a( e- l, D: {( a) s' { 1 g2 I/ P* N `
di "cannot find pmaxphddy240"0 [* r4 P4 r! r3 u2 V) C& P
restore- C/ |; B5 I$ C
" K# _ Z u9 z j6 G5 V6 s
sum dx240% ^& k% S( F9 G0 h: b' p% @
local tempmaxphddy240=r(mean)
, K1 G! G. r& o" X7 `0 Y i . _( I" G3 x- T% G3 |
* O: s8 C2 i& y7 V- A% }
}
) B8 M5 f# C3 X5 | / H# w4 T0 J3 o+ U# W9 I
) f! a3 Z f2 x% v+ c" p) A
# D$ @. y. ~' Z7 {4 m
5 b7 ^3 l1 W* M
# i4 R+ n- A9 M& H- \8 |
; u% L3 W% I" ]9 \' Z( G- F4 d" @ gen pmaxphddy240=`tempmaxphddy240' in 1
3 |+ ?6 @4 F) I2 J0 O- { * m4 k7 b- y1 }- ` m8 y& v5 s
5 W8 v' v0 g* @9 N3 d* g
*-------------ddy240pmaxp右侧低峰值 -------------------
) C: T4 p% ?* r& K3 ~
/ k8 B* U9 _6 D8 l# L [2 |0 c preserve
: h. N, {* J0 f; S
- R/ `7 K+ r7 U# A! \ keep if dx240>`tempmaxp'
! P) E C2 R6 y$ R, r) X9 m2 {, l' u
' g" k9 R- i' W2 y' W+ b; C( K, M6 x gen temddy240=-ddy2409 ^4 s. s9 K+ B; Z5 i
& q( P$ U' j# O7 z1 @* Y keep if temddy240>0, a- j; t. G) U. C; a3 J
5 c; l; R" H! ?$ S% v9 E( q count1 F' ~, x h& [! W! j
" E% `2 J8 _" {# L! U
if r(N)>2 {) F( J! ^; S5 S
) l/ @4 q& W7 k, n
pkexamine dx240 temddy240 u. M* s# `/ i) o/ \
! Q# Z2 U* B, G! r1 W
local tempmaxplddy240=r(tomc) $ ~' Q8 t" x7 `/ Z3 Q u, K
restore. x* p8 t- J8 z5 w! Y
}9 n: Q5 e, _; A6 C+ b8 q% e
, A$ `. ~1 D) O- I' q+ b( g8 i# S else {9 p- \2 a) z. o/ K
restore
f$ T: k y2 N8 P9 T2 \5 K di "cannot find pmaxlhddy240"
" m7 _: q( Z% R6 u9 x' i4 G! p ; s% g- _' W D. i9 Q
- m" J: n9 R; [' O
sum dx240
# a$ e! W Z6 G local tempmaxplddy240=r(mean) in 1
0 A; i3 t. O) [+ r* x* v
3 R4 ]/ ]' w# g2 E5 U/ u6 B
( h/ n1 \ f8 j: J! u }9 N5 X5 e: r; t$ @( t0 h1 |% L. c
2 A2 n! i' i2 O& o* [+ \7 Y; V
# B3 r- s7 A: l1 ?' g' O 7 v) R* N7 d# P
0 k3 l: g5 v/ E0 `# ^7 A. ~" s2 _ ! M3 o& c1 Y1 t0 w
& M d% w, z/ p2 O j
gen pmaxplddy240=`tempmaxphddy240' in 15 U7 N$ l$ l {9 c
" Z Z- E; O7 ~. ] *-------------------------------------
) |3 O7 _7 P9 N" g9 e 2 w8 a6 H2 S' I, G2 _
gen price5d=v5 in 1/20
/ Y& O8 H; D, Y9 L* F' l - i4 S* w' L! F3 H( m7 y$ E, K
gen price5yy=_n in 1/20+ d! ]& N/ c! F: E7 d6 B
$ ?" j1 `8 X2 @
gen price5y=price5yy*(dy240max-dy240min)/20! [" j& F% q/ c3 y7 _" N- k8 \
, }; Q: k! E+ r% l2 A *price5y &price5d
0 G; Q' _+ o' ~2 g' ] 2 R3 u& w" }/ K% W. Z
gen priceny=price5y in 1
, W: N; v7 c) A+ g; V
2 Y8 D% R2 W$ W' @+ j9 o$ i! G5 d gen pricen=v5 in 1
6 ]. ` m. m6 P2 E% \! V+ T
4 L5 E* e' [* Y, a! I
' [: y+ k t1 f8 a *priceny &pricen8 T4 Y9 x- K; i$ C t& E9 G
1 w# E% K/ v1 M7 f4 M
+ }( K4 j6 [" e6 v *-------------------------graph------------------
9 E( U. z+ e# D6 m: u4 g \, t
7 ^$ K5 m4 J# t3 O7 [6 ^ tw(line dy240 ddy240g dx240)(spike yxis amean,lc(blue))(spike yxis mean240, lc(red))(spike yxis maxp, lp(-) lc(black))(spike yxis minp, lc(black))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean)) (scatter yxis2 mean240,lc(red) msymbol(+) mlabel(mean240) lc(red))(scatter yxis maxp,msymbol(+) mlabel(maxp) lc(black))(scatter yxis minp, msymbol(+) mlabel(minp) lc(black))(scatter yxis4 pminphddy240, msymbol(O) c(l[-]) mlabel(pminphddy240))(scatter yxis3 pminplddy240, msymbol(O) c(l[-]) mlabel(pminplddy240))(scatter yxis4 pmaxphddy240, msymbol(O) c(l[-]) mlabel(pmaxphddy240))(scatter yxis3 pmaxplddy240, msymbol(O) c(l[-]) mlabel(pmaxplddy240))(scatter price5y price5d, msymbol(O) mfc(black) mlc(black) c(l[-])) (scatter priceny pricen, msymbol(O) mfc(red) mlc(red)), title("`f'") xtitle("`1'") ytitle("density") legend(off)" }5 _- k, R" R* _& m) I6 `
' L* L- C; T( l& I3 s5 Y4 v/ ?
* ---------可选项目----------------------
: |* L h4 k3 l, l6 g, s
5 U' W v5 r* J7 h! U6 _( S}2 o5 Z2 W- |$ O$ c4 ^/ O/ d
end' P9 p4 w4 w' _% r& B$ \+ X; C
|
|