|
|
改了一下,这次运算应该没啥问题了
8 D7 p4 w: n" n/ |* h# X5 N5 H; V, a5 z" Q9 ~4 |
, I( ]" c! a: P( a! xcapture program drop hello
) Q3 B8 t: G, O* W& P, ?. s/ h0 z, b
9 d% Y+ E" C4 ^; A0 D6 xprogram hello
: z* z2 @% G2 `. W3 \' _! c- q$ o
; t9 c5 S* A6 u$ y# S) N5 s quietly {* g$ g! z" s" E2 U1 n7 m
- b7 E% u- b9 S& l1 s4 Yclear) p2 \0 h, O* ^, G% R: [8 E+ _
$ @ ^% T* N/ S2 U) }
cd e:\finance\stock\20110101\source5 l6 A `, A! O; J) D
2 V( c2 g7 Y# uinsheet using `1'.txt
8 S8 W( M' y3 O% c
. s! D) _7 {. [ keep if v5>00 j6 j# h! @( [0 z2 @
$ E. S. U6 F- B! p; i: J) u
gen vt=_n$ T8 ?+ `/ Z: D& ^4 m7 P: g
g1 m( ^3 Y G6 i
tsset vt5 D7 B2 c; V0 w0 d3 G7 ?- t
4 S$ [5 ]3 f7 D c8 o/ H gen zf=D1.v5
9 }8 J* Z x3 n5 C* N; ?7 U1 K
# r9 h- _% o* t8 K. p z( E gsort -v1# w' X3 h6 G! {; @+ Q" e$ `
1 ?6 _: |) X$ O( i+ W gen avol=v7/v5
2 ^, _/ I# o# f" Z& f
! a- {: L, @: M/ i: h keep if avol>0, P ^9 s. Q* I/ `( ]2 `
3 B0 J. i* w* w5 ?$ O* s: j
drop vt
1 U' [/ X! b! i( A 6 {* o3 S v/ h: K1 I
gen vt=_n/ p( e2 [+ J5 F
5 s4 U% _& S7 I; J& |# e tsset vt) W |6 s( {8 Z& J. u
; j4 v6 D. }; B' f
sum v5 [aw =avol]+ p5 O1 @. C- k; W
9 J( C; O1 \6 M7 I
gen amean=r(mean) in 1
0 A# L2 H6 }* k B8 ^3 n, [
2 |6 D# D/ J% A' H" n& c2 t * 总加权平均值 amean3 B) s, K6 c q7 Y
* G- E1 P" M3 N
9 }/ {' N/ D4 h5 \* x
keep in 1/240
/ g1 V1 w7 K; N# k/ m) B+ ?- d
5 l5 x/ N4 [8 L sum v5 [aw =avol]+ m+ u! T4 G$ d3 v% g
8 C2 s5 B" x9 q3 g
gen mean240=r(mean) in 10 o7 }& |1 W @+ B# W. `! H5 H
4 a2 C9 Q1 G3 G- u2 F *240加权平均值 mean240# b. w$ B7 X# ?5 v$ w1 L" U
- _) ^: K3 U5 E5 U3 W+ x
set obs 500 6 |& U) c. @- k7 \& `0 y5 h/ ?
1 s, e* r, Y% I7 C3 j
kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph) o5 P* ^. W% ]. K* Q% {) U/ W, A
% g5 m! k' k2 p8 [7 \! ^ *240 kdensity(dx240 dy240)2 w7 w, a% D/ p9 _2 }8 ?% V
* E0 z. f& ?1 U- u/ p$ l
sum dy240! g, H5 j! z: u7 \
( @4 t4 t! L$ f1 B' M gen yxis=r(max) in 11 N: b6 e0 Z8 g& k6 ?% l
3 F& r/ n! h/ C% Z: w
gen yxis2=yxis/2
# a |7 u: T9 f0 g* y5 x: ?
& I& f0 I) ^, U2 A) W *yxis& T5 r$ Q+ B. y' B$ F' F
& w8 F! p% o/ {' ?6 M
gen dy240max=r(max)
' ^/ d5 a% }# g
8 H2 V5 F8 {( W# O gen dy240minp=r(min)9 }9 N' Q+ Q9 r6 k! H
: s8 F& q+ v! b0 ~9 E, p+ [, v gen vtt=_n
3 P' S% n" I. ^, B' O. S
( v$ l: N& G3 I( S8 M& p# z tsset vtt
9 g6 [- |* }+ B! l/ q
9 G7 O0 [) T( g7 t7 o0 E gen ddy240=D1.dy240/D1.dx240/ P3 u! n: j7 f! B6 O
, X" \1 `% d& {. b4 N* T sum ddy240
- w3 L( P- {" W' y" W+ d1 C2 J ! \1 F- L3 R( N9 } K% p+ B
gen ddy240max=r(max)( K: I: |; L& K
, N% }8 Z: F$ P9 i) c6 I& U gen ddy240min=r(min)
0 `, A% Q# t+ Y
- M% _, K9 ]4 o0 S/ U' k gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
7 X& b3 X& Z0 E6 ^: ~& r; s
5 z2 G$ Z2 U: T& F) ^9 S sum ddy240g, l) K. s* t3 Y0 [; E8 ]% I
7 s0 \, z$ B+ s& }+ @9 |' z5 k
gen yxis3=r(min) in 1" R- |0 `& h# S: {
- E0 b P) t3 w4 x. E7 Z
gen yxis4=0 in 16 y5 K8 N0 b3 z7 Y- Y4 `$ d& F
# U' n x/ p% R/ O1 @ *ddy240g 6 a( S7 h; q6 A6 R z
3 J" s. l& A) j9 a
( J( i! |% T o& ]* I# N$ L- H g
preserve & I5 M) S# Y, a
) Y: U7 B8 a7 W6 H
sum v5 [aw =avol]6 `* c; E/ P7 p
5 F/ d7 C; i) w" w h, x: P' W
keep if dx240<r(mean)% M5 I3 l8 M1 Z
' i& } l6 Q1 ?9 z9 h: R# j sum ddy240! I5 d% R& t3 A8 v
; O% y4 }% w; B! W8 o8 K! h if r(min)<0 {. A3 I) y# u. U% K$ N
/ c9 L0 A) z7 a0 p. X2 x9 y* [ keep if ddy240<=0, u7 ^) ?' ?) n Y
; p( R2 ?, V! f1 F count5 g8 ~; O8 e. x
/ F& N$ s. |) e6 M% o if r(N)>2 {! U( x5 r6 c2 U
+ o3 Y9 J0 s* s; V. Y1 n% o pkexamine dx240 dy240
+ M7 M7 ~, \+ K5 ^: R- [
5 Z2 x, o# D7 n4 z" d local tempminp=r(tomc) q' f% A* A- h/ u
restore 8 M! _9 i1 _. E
}
' W6 Z, Z1 L$ {2 V+ `% ~
: K6 @5 h+ A. }$ q- Y0 @ else {) N2 b. |+ b; C" K5 u4 X$ |
) g b" L( p7 Y% p+ l5 m. k! ~
di "cannot find minp"% |4 E; H0 D+ ?$ j- w/ r' P
7 h, l- l X% q0 _! p restore , @1 V& l& `* c4 O
sum dx240
5 d( o. P! C$ ~" h7 F9 \ local tempminp=r(mean)
" W l4 b5 i/ Y9 d; e/ U
, L7 J; Q" E" S8 ]7 R# B' i9 r$ l3 s }
3 \9 G; | J. K$ ^1 R. O }9 Z" j9 A5 d1 a' r3 A- g8 R; Y/ I
else {
0 J: |; C" n/ P% F) Y( k; ?, [% A" ]
c, H8 p: M$ Q% `8 | e keep if ddy240<=r(min)0 S) w/ C' Z, O9 {) ` H& k
) f, v1 r) v; ?2 o sum dx240
6 G/ U/ y4 c& [2 y+ f' V 3 k: a# p& w+ a9 e. |7 J7 H8 J
local tempminp=r(min)9 H# G2 U: e6 W" r) Q
restore 8 ^4 o9 g6 {& Z
}4 w& @9 }+ H; P
/ R' n# g5 |) W& B! ?
: N4 _ L, j/ V. q8 q! @$ M( Y% \
2 y8 S4 A1 w* B* [6 G gen minp=`tempminp' in 18 C* i `7 k* k* R
*240 minp
% t5 N O# f/ }9 a; ]- ?. k' \ O) x0 o; B& O
: X. X7 i+ h* k7 e2 }; Z7 o
0 }- F0 @3 m/ J8 e
preserve , t4 }( ?0 J9 A: p. E; M0 u
5 n( P# ~- c$ @4 w
sum v5 [aw =avol]/ n5 l! \' Q* R! ~/ @9 [; g
r2 q6 n. T9 i
keep if dx240>r(mean)0 x5 n$ V/ ~2 O; a* Q
0 ]( i5 R5 X, m
sum ddy240
0 T: L9 q7 L. `! w0 o
0 A) ^ G5 o) z+ d" o b# T1 G if r(max)>0 {' Y4 {- r# s4 R& R; Q& {0 K
6 |4 G" u8 u. D' _7 I" A
keep if ddy240>=0
& s( A" M5 t' G6 Z$ I
z2 W0 N# v2 D- _, h+ w f& G; W count/ ^4 l% f P! u/ x5 b9 U
n& A9 N7 Z- |4 g9 ^ if r(N)>2 {) _, j+ v4 }' `" Y' W& z; S
( J) C% m q$ c" Q
pkexamine dx240 dy240& R, Y' Z' L7 u8 S1 H7 J$ G/ i$ r
8 l% B+ ]1 e, X3 r local tempmaxp=r(tomc) : t' {7 F1 l% E
restore " j: {; u& O1 R3 G7 m
}8 A+ v, u y# ~+ \/ N
" v( Q" v2 X/ D6 g
( R+ X3 K4 F* x" Z _1 E) i4 `
else {
+ O" C d1 h* Y7 Q2 W restore % |: f) A2 X2 {5 w' f3 F4 j0 W
di "cannot find maxp"
c- H5 f L" X- K$ L+ T+ S: Y" |
0 X0 z! ]& b# f( | , Q0 O9 t/ T0 Y, t1 u; o0 w. x; t8 P
sum dx240
v- l9 x* u t+ Q& O) h* o local tempmaxp=r(mean)
( b) E9 j x8 S0 m 5 G$ L5 b- B9 m# d
}
4 Z( R* z$ a( U1 C6 N' M; C
$ v) C- D7 ^- m4 `/ I }
2 @" P) \. i& F% o ' v# g t- Z" }3 g) \5 \- X$ F- b
else {% Z& K9 b) Z3 J3 |2 J% X: O# a
3 L( x" h }" h! L keep if ddy240>=r(max)
& o7 E% r; S- s% p4 W- ?; Z * O! T/ I. a9 R, q& w
sum dx240
& b' v ?! M. }6 x+ a9 D 8 k3 q F: H y6 N5 p& X% P
local tempmaxp=r(max) v; _# r, e2 K% h; {
restore
/ ]3 @% B: R0 m: U }
, b) g! z8 W0 u' j' T* ^3 {7 w & Q$ U2 m: [7 ?# k
& V0 b6 R8 P. F- x
1 x/ `+ Y& c# x H3 L+ `
4 i8 y. E% s j4 ]6 s- p gen maxp=`tempmaxp' in 1 c) m; K8 g' U3 T
! J, l% W( j( i; K7 V
*240maxp
7 W3 x( i( `3 ^ c+ N; H7 ?& O
! B4 [7 ~7 J3 A *-------------ddy240pminp左侧高峰值-----
; `. b" `2 A5 X9 E# L4 j+ v; [ ; g8 K. t2 z. i+ H& H, Z/ F
preserve ' A1 B' u( T( ~ C1 ~
: C7 R% T8 u; q/ [3 D! R- _
keep if dx240<`tempminp'( D9 i6 l. e. V0 t& A3 F
* o5 s" \7 Z. y5 i8 [5 P keep if ddy240>0
& E; T2 o! J0 D8 B- k: S9 l) q6 q
, X8 J7 c9 I, Q2 F9 A) L1 L% B count8 @& ^) m8 b( {% F: J! J
% ?9 f& J" Z# ]0 L! `$ |! u if r(N)>2 {
$ @2 l5 j1 n9 D, E$ b( q" B
9 P( M9 z; s ^! J7 \7 p; m pkexamine dx240 ddy240
2 m# `; |* p9 [* @3 h1 W; p$ E
3 N* ]7 W, o: [; ^- C5 [ local tempminphddy240=r(tomc) & ]6 Q" X" t) X
restore
& m: p! e3 s, J" C) U; L }
# l0 e# s0 w) B
6 A- W, u) p3 e( M. ]) R/ @, f else {$ }; u" u) T% G! M* D& r
restore
, ^; j& n- M& E- ^' Y+ k$ f di "cannot find pminphddy240"
% _% V1 x/ _6 M2 c/ e ( u$ o* L3 r3 d v
# ?6 `6 G9 j. i* t
sum dx240, h, u4 G' s! Q
local tempminphddy240=r(mean)
- w1 ~8 v \: { 6 _4 Y3 `: C4 J% M: d$ @
2 e+ {) M- m8 K; o9 a
}
: ?; b8 F' j# r, N& I. h y: [( ~( D* g9 f: W% c
* G, j$ j0 v7 p6 r, @
, m6 W v. B4 T7 X
: J! [! }6 k& K/ b) s* f1 c
/ t! t0 |/ @5 P$ V) s! F
$ A( U6 A ]3 W8 M6 q1 [ gen pminphddy240=`tempminphddy240' in 1; H: Q6 X* h7 a
+ a" x* k/ | [; C : m# |3 }/ @- K
*-------------ddy240pminp右侧低峰值 -----------------
3 {1 E+ i* W3 R6 B y preserve
1 f- p4 f; B3 h! W 9 z) J4 P5 ^2 \8 @. P; N3 f$ b. Q
keep if dx240>`tempminp'8 l* K5 N6 w% P# l
* L. S( ]1 u2 ?* a% I1 U. e keep if dx240<`tempmaxp' w) z+ X# ?" M+ {6 J. e0 \, N5 v
- Q0 q; X0 ?1 `! w& i. F* b: b keep if ddy240<0
1 }5 O( k; e. |, J+ q7 E
1 O( D- F# o/ [ gen temddy240=-ddy240
2 _0 }; T+ G, `, f! | U 2 p+ b+ H& {9 N' |
count) [- @; K) v# Z" q R0 u% X
- Z4 m9 X( `$ V if r(N)>2 {. N' l; v; Y3 f, u8 L
$ S, s. W3 j5 W pkexamine dx240 temddy240- A. p1 y, r) Y0 [9 d8 U
& j0 `2 Z/ S" i
local tempminplddy240=r(tomc)
; I$ q9 y! H6 ~ restore
. C0 V2 c$ [1 h, y }) j& P8 a3 r& I+ ]6 q6 c
4 d @$ a4 o: B- {: U! z
else {
. {) o* ]: G+ w N8 d - C4 g3 u0 V) i* C- w
di "cannot find pminplddy240"
& M+ P) v( }# H# @* ~ restore
2 h6 t+ q7 U# }5 T; V+ x
, y$ ?/ n1 Y8 s4 E' l, k sum dx240: [8 H* G; o( d* M
local tempminplddy240=r(mean): ? o7 z2 Q1 Z; [ h, E
- f1 o* m# B4 y3 w7 o' z# y+ p1 Y 8 Y( V6 B# G* J" R0 c
}
* ~" R5 z" c4 G& r * A7 o- A [& G# X. \( h
9 m; R( d+ |$ s8 ~; D7 ^
~8 i; I3 @9 h ( T" V: y" D7 r$ b
) K: ^; p4 _/ c8 Y' u1 Z* i gen pminplddy240=`tempminplddy240' in 1
: K+ l. r/ d( @# G4 @$ V
! n: K) u' H& [# J; ]4 q: \ *-------------ddy240pmaxp左侧高峰值 -------------------
6 U6 t8 @. ^; p4 G9 E ; F+ l+ l0 g! r; J% `0 b) f) o1 B
preserve - B4 r& T" {" |' p
% R0 X" a% j% U. n keep if dx240>`tempminp'
. l2 f4 Q) l8 q7 K; y0 ^6 V1 K5 Z 4 J5 Y) |' l% O: x w$ L
keep if dx240<`tempmaxp'& a% V% u; G1 k
& J% z/ h& B1 \ keep if ddy240>0
( D8 R8 o5 c) l& v% q/ I2 k. @ count
* w8 I- }: _$ ~1 t3 j- j% m 2 i" M- {+ D+ p& O% g( V9 o* _5 m
if r(N)>2 {+ J+ ?4 [1 w3 o0 b7 `
) j7 F4 C, y) O2 g
pkexamine dx240 ddy240
; ~+ A2 q9 ]* ^; F: h4 s
9 Y4 d* R; [: f( N$ d local tempmaxphddy240=r(tomc)
+ _! r6 @. T" _) z5 ^4 d. V. j % F! k7 ~. c" {8 o8 k/ u. F+ Y
restore
) m' k- S0 H. y+ k2 P }& @( v6 O# G1 M- z' X
6 c5 F3 n2 w- z' d7 @* R
else {
: L/ R$ d" T+ ]$ l 3 J2 f8 \, g$ \( ~4 S
di "cannot find pmaxphddy240"5 y7 d0 W2 S. p
restore* x% T/ e" t. A: H7 W" `8 ^4 G
, U4 X0 I( ]$ P' f; `/ T sum dx240( A: Z7 y" B1 j
local tempmaxphddy240=r(mean) , s3 N- a" y$ o6 S9 W0 [" f
* M+ \2 v* F. r0 N
, R# W& Z* }3 T6 A# Y }7 C& b3 g' {" I6 z1 P
1 l5 x% ]2 x6 E$ p8 W0 Y& v" t/ n
. o7 h, c. m) X3 i7 Y( `
: K( v. b& W# z6 s
! u: W1 D: I$ i" y2 Q/ O " \8 w9 N( o+ N1 H
% s- A9 V$ x% u3 U9 {/ s- z, G gen pmaxphddy240=`tempmaxphddy240' in 1
9 W* F8 J6 ^# Y
* F, \2 {, N; E( K" a @ # ~' C$ I! n4 F+ z, Q
*-------------ddy240pmaxp右侧低峰值 -------------------# k/ I0 ], K/ @9 e& i
0 e8 {- a! _# P preserve
/ Z) g/ _& J" A1 ]/ h1 f; x7 e/ E
2 m1 E9 x- r9 B- u' P keep if dx240>`tempmaxp'& v* @" u" g6 _
2 E1 {0 |& ^0 L7 M8 |1 Q gen temddy240=-ddy240: J* v: F2 ~9 |7 J2 U! R; X2 F
3 M+ ~2 T3 C7 F" g+ q0 v3 z3 b6 E* m
keep if temddy240>0. v5 ?, S3 t. l- T
9 L5 n0 k' v1 }# G: G9 y
count0 s) {2 a5 D7 W4 M5 y+ Z$ H4 m* k
/ V" O4 |5 Q( P2 v7 I if r(N)>2 {' Q q# y# Y! y/ d# _
% s' e7 C5 H- L3 w
pkexamine dx240 temddy240$ }9 B9 a8 v3 W& e8 e
- v& E+ }3 q6 D; J1 l. e7 R% {8 q local tempmaxplddy240=r(tomc) . b8 \. u; Z7 j7 e! |& B; n
restore
' j1 B' u! L% x# F7 ]( \$ B }* a8 Y0 I% D q: O [! I
: y p2 E) `$ k$ W; y# f0 a w else {
0 [9 X4 l* u8 a6 H) f: v* D restore
/ X: W. d* p+ d: L5 b5 D( @ di "cannot find pmaxlhddy240"3 d: ]: g. q+ P* j z
! E; y7 g# ?2 V6 _% ]
0 l4 i) X, _* u/ i1 `& K sum dx240" z0 M" @& x0 E, w+ }; Y
local tempmaxplddy240=r(mean) in 1
( ^7 t5 W ^0 h0 e % \0 B2 h5 r$ K9 s
0 m6 ^6 `1 ?, U( C
}
- x1 s8 |6 T) y# r+ l! L
# \/ n! |! f3 p 1 Z0 \0 P% M. x: x6 v
7 M$ y% @ [* A$ W' { / ^4 r( p! `: {* {( {6 g! }! Z
# G; i: h4 n: F: k( x
0 Q) P E' ^2 c& R gen pmaxplddy240=`tempmaxphddy240' in 1- `( H+ Q# U7 h. S2 y$ k+ z
1 o# D" n/ Q0 I
*-------------------------------------
4 s9 v% j1 g4 p r6 i3 r1 } . N& i2 {! T( F" o
gen price5d=v5 in 1/20 M2 f7 D# B' \, H, {, F' J# n# e
7 j, H0 J; `) W gen price5yy=_n in 1/20* g! |* M7 s' W F8 ?! F
4 R# p" K7 j/ `, S gen price5y=price5yy*(dy240max-dy240min)/20
# K7 R. w/ e5 B
7 U% f* z; O9 L7 ]' L% `8 _ *price5y &price5d5 R/ n7 w! y2 Z$ O6 N; H
9 ~$ r& X( ] F# {' {6 E gen priceny=price5y in 18 }# f9 \! f9 T' {
0 h b& K4 u8 ~
gen pricen=v5 in 1) k& X$ _9 y% @; V' W4 T1 M
H' M$ V/ l+ r
: e9 _/ q: ?' ^
*priceny &pricen
4 u( t: h- N. \+ \& D) ] - e, ?3 v; t! t m" [3 a5 M
5 h# u8 l) y# q( e- B) s# a6 Y *-------------------------graph------------------- D" Q. @, X# X
, A. T4 n" C, c6 Y2 R; N1 w. d( N6 o
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)
" B7 c, n4 {# v. X2 }0 @$ O/ w5 F+ h
5 Y& Q9 v7 B ~' `; u* ---------可选项目----------------------& v# r) J+ y" X# h) N0 p
! f6 v$ j0 O: q! R- Z0 @}
' n5 A$ j$ d8 H" c" tend. n0 l/ Q$ F2 o1 N* m/ M
|
|